<?php

/**
 * This is the model class for table "OVE_RH_PERGUNTAITEM".
 *
 * The followings are the available columns in table 'OVE_RH_PERGUNTAITEM':
 * @property double $PERGUNTA_ID
 * @property double $TIPOPERGUNTA_ID
 * @property double $ITEM_ID
 * @property double $FORMULARIO_ID
 */
class PerguntaItem extends CActiveRecord
{
    /**
     * @return string the associated database table name
     */
    public function tableName()
    {
        return 'OVE_RH_PERGUNTAITEM';
    }

    /**
     * @return array validation rules for model attributes.
     */
    public function rules()
    {
        // NOTE: you should only define rules for those attributes that
        // will receive user inputs.
        return array(
            array('PERGUNTA_ID, TIPOPERGUNTA_ID, ITEM_ID, FORMULARIO_ID', 'required'),
            array('PERGUNTA_ID, TIPOPERGUNTA_ID, ITEM_ID, FORMULARIO_ID', 'numerical'),
            // The following rule is used by search().
            // @todo Please remove those attributes that should not be searched.
            array('PERGUNTA_ID, TIPOPERGUNTA_ID, ITEM_ID, FORMULARIO_ID', 'safe', 'on'=>'search'),
        );
    }

    /**
     * @return array relational rules.
     */
    public function relations()
    {
        // NOTE: you may need to adjust the relation name and the related
        // class name for the relations automatically generated below.
        return array(
        );
    }

    /**
     * @return array customized attribute labels (name=>label)
     */
    public function attributeLabels()
    {
        return array(
            'PERGUNTA_ID' => 'Pergunta',
            'TIPOPERGUNTA_ID' => 'Tipopergunta',
            'ITEM_ID' => 'Item',
            'FORMULARIO_ID' => 'Formulario',
        );
    }

    /**
     * Retrieves a list of models based on the current search/filter conditions.
     *
     * Typical usecase:
     * - Initialize the model fields with values from filter form.
     * - Execute this method to get CActiveDataProvider instance which will filter
     * models according to data in model fields.
     * - Pass data provider to CGridView, CListView or any similar widget.
     *
     * @return CActiveDataProvider the data provider that can return the models
     * based on the search/filter conditions.
     */
    public function search()
    {
        // @todo Please modify the following code to remove attributes that should not be searched.

        $criteria=new CDbCriteria;

        $criteria->compare('PERGUNTA_ID',$this->PERGUNTA_ID);
        $criteria->compare('TIPOPERGUNTA_ID',$this->TIPOPERGUNTA_ID);
        $criteria->compare('ITEM_ID',$this->ITEM_ID);
        $criteria->compare('FORMULARIO_ID',$this->FORMULARIO_ID);

        return new CActiveDataProvider($this, array(
            'criteria'=>$criteria,
        ));
    }

    /**
     * Returns the static model of the specified AR class.
     * Please note that you should have this exact method in all your CActiveRecord descendants!
     * @param string $className active record class name.
     * @return PerguntaItem the static model class
     */
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    public function saveAll($question)
    {
        if(is_array($question))
        {
            try
            {
                $modelPerguntaItem = new PerguntaItem;
                $modelPerguntaItem->PERGUNTA_ID =$question["PERGUNTA_ID"];
                $modelPerguntaItem->TIPOPERGUNTA_ID = $question["TIPOPERGUNTA_ID"];
                $modelPerguntaItem->ITEM_ID = $question["ITEM_ID"];
                $modelPerguntaItem->FORMULARIO_ID=$question["FORMULARIO_ID"];
                if($modelPerguntaItem->save())
                    return true;
            }
            catch(Exception $ex)
            {
                echo "Error: ".$ex;
                return false;
            }
        }
        return false;
    }

    public function deleteAllPerguntaItem($item,$pergunta)
    {
        PerguntaItem::model()->deleteAll("PERGUNTA_ID = ? and ITEM_ID = ?",array($pergunta,$item));
    }

    // Quando tiver relacionamento de muitos para muitos
    public function primaryKey()
    {
        return array('PERGUNTA_ID','ITEM_ID');
    }
}
